In a multi-network computing system, routers may be used, e.g. for providing communication between two or more different networks. Typically, a first network will have a plurality of components including one or more routers and a plurality of personal computers, work stations or other computing or telecommunication devices. Such plurality of local devices may be coupled over any of a number of different types of local area networks including Ethernet, token ring networks and the like. The local router (or routers) effects communication with other networks by also being connected e.g. using a wide area network (WAN) or other link. Thus, in a typical configuration, a router will have a first connection to the local area network and one or more other connections to remote networks or sites. Thus, with respect to a given router, devices which are coupled to the same local network as the router can be termed local devices while devices or sites which are coupled to the router only via the other non-local “nominal” link can be termed remote devices.
Routers typically include a number of components such as a processor or CPU, memory, network interfaces and like. Typically at least some of the router memory is used for storing programming or software which may include an operating system or so-called “image” for the router. In many router configurations, different versions of the operating system or image maybe stored in memory so as to configure the router to provide a variety of different features or functions. Accordingly, it is typically possible to modify or upgrade the router image by storing a new or modified image (or portions thereof) in the router memory.
Not uncommonly, such new images can be downloaded from one or more remote sites over the wide area network or other remote site link. When the amount of memory available, in a router, for image-storage is less than about twice the size of the image, (an increasingly-common situation as more complex and feature-rich images are developed) storing a new image into a router involves erasing some or all of the old, previously-used image. However, if the newly-downloaded image is defective (e.g. through programming errors or through errors introduced during the download process) the router containing the newly-downloaded image may be inoperable for performing any further communications over the remote link. In such situation, it may be difficult or infeasible to restore the router to its previous functional state since the old image has been at least partially erased and the remote link is no longer available for downloading another copy of the old image from a remote site. Accordingly, it would be useful to provide a method and apparatus for returning a router to a previous functional state after the downloading of a new image.
As noted above, as newly-developed images increase in size (e.g. owing to provision of additional features, functions and the like) it is increasingly common for downloaded images to be sufficiently large, compared to the memory available for storing images in the router, that downloading requires erasure of some or all of the old image in order to make room in memory for the larger new image. In many situations it is impractical to address this problem by merely adding more memory to a router. Some routers may not be readily amenable to the addition of more memory and even when such modifications are possible, such modifications typically require that the router be disconnected from the network or placed out of service for a period of time, thus causing a interruption in the WAN or remote link, which is generally undesirable and, and in some (e.g. mission critical) situations may be unacceptable. Accordingly, it would be desirable to provide a method and apparatus for permitting a router to be restored to its former functional state, following the download of a new image, which does not necessitate interruption of a network link or placing a router out of service and which preferably does not require access to or manipulation of the existing router.